#include "../include/head.h"


#define MAX_OPTIONS 3

void displayLoginScreen(int highlight)
{
    const char *options[MAX_OPTIONS] = {
        "登录",
        "注册",
        "退出"};

    clear();
    printw("====================================\n");
    printw("       航空管理系统登录界面      \n");
    printw("====================================\n");

    for (int i = 0; i < MAX_OPTIONS; i++)
    {
        if (i == highlight)
        {
            attron(A_REVERSE); // 高亮选项
        }
        printw("%s\n", options[i]);
        if (i == highlight)
        {
            attroff(A_REVERSE); // 取消高亮
        }
    }
    refresh();
}

int main()
{
    int ch;
    int highlight = 0;

    initscr();            // 初始化ncurses
    keypad(stdscr, TRUE); // 启用键盘输入
    noecho();             // 不显示输入的字符

    while (1)
    {
        displayLoginScreen(highlight);
        ch = getch(); // 获取用户输入

        switch (ch)
        {
        case KEY_UP:
            highlight = (highlight == 0) ? MAX_OPTIONS - 1 : highlight - 1;
            break;
        case KEY_DOWN:
            highlight = (highlight + 1) % MAX_OPTIONS;
            break;
        case 10: // Enter键
            if (highlight == 0)
            {
                printw("您选择了登录。\n");
                // 在这里添加登录逻辑
            }
            else if (highlight == 1)
            {
                printw("您选择了注册。\n");
                // 在这里添加注册逻辑
            }
            else if (highlight == 2)
            {
                printw("退出系统。\n");
                goto end; // 退出循环
            }
            break;
        }
    }

end:
    endwin(); // 结束ncurses模式
    return 0;
}
